From f8733b8f8d5ffccc7ec0c03311e8494c0aa57ad3 Mon Sep 17 00:00:00 2001
From: Gergo Koteles <soyer@irl.hu>
Date: Sun, 24 Oct 2021 23:18:09 +0200
Subject: [PATCH] staging/bcm2835-camera: Add support for
 MPEG_VIDEO_FORCE_KEY_FRAME

Signed-off-by: Gergo Koteles <soyer@irl.hu>
---
 .../vc04_services/bcm2835-camera/bcm2835-camera.h     |  2 +-
 .../staging/vc04_services/bcm2835-camera/controls.c   | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
@@ -13,7 +13,7 @@
  * core driver device
  */
 
-#define V4L2_CTRL_COUNT 31 /* number of v4l controls */
+#define V4L2_CTRL_COUNT 32 /* number of v4l controls */
 
 enum {
 	COMP_CAMERA = 0,
--- a/drivers/staging/vc04_services/bcm2835-camera/controls.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c
@@ -1286,6 +1286,17 @@ static const struct bcm2835_mmal_v4l2_ct
 		.mmal_id = MMAL_PARAMETER_VIDEO_ENCODE_MAX_QUANT,
 		.setter = ctrl_set_video_encode_param_output,
 	},
+	{
+		.id = V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
+		.type = MMAL_CONTROL_TYPE_STD,
+		.min = 0,
+		.max = 0,
+		.def = 0,
+		.step = 0,
+		.imenu = NULL,
+		.mmal_id = MMAL_PARAMETER_VIDEO_REQUEST_I_FRAME,
+		.setter = ctrl_set_video_encode_param_output,
+	},
 };
 
 int bcm2835_mmal_set_all_camera_controls(struct bcm2835_mmal_dev *dev)
